Many applications running on computing devices involve functionality that requires audio input. Under typical environmental conditions, a single microphone may do a poor job of capturing a sound of interest due to the presence of various background sounds. To address this issue, audio beamforming is often used to improve signal to noise ratio. Audio beamforming is a technique in which the signals of two or more microphones (i.e., a microphone array, in a generic sense) are combined to enable the preferential capture of sound coming from certain directions. A computing device that uses audio beamforming can include an array of two or more closely spaced, omnidirectional microphones linked to a processor. The processor can then process the signals captured by the different microphones to generate a single output that exhibits spatially selective sound pickup, to isolate a sound coming from a particular direction from background noise.
The audio beamforming process can be tuned to switch between several beamforming directivity patterns. The sound pickup directivity patterns can be fixed or adapted over time, and can even vary by frequency. However, the different directivity patterns achieve varying levels of success for different types of sound, which can lead to suboptimal results.